\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (0,-1.2) [greencell] {3};
\node(2) at (1,-1.2) [lbluecell] {\textbf{}};
\node(3) at (2,-1.2) [lbluecell] {\textbf{}};
\node(4) at (3,-1.2) [lbluecell] {\textbf{}};
\node(5) at (4,-1.2) [lbluecell] {\textbf{}};
\node(6) at (5,-1.2) [lbluecell] {\textbf{}};
\node(7) at (6,-1.2) [lbluecell] {\textbf{}};
\node(8) at (7,-1.2) [lbluecell] {\textbf{}};
\node(9) at (8,-1.2) [lbluecell] {\textbf{}};
\node(10) at (9,-1.2) [lbluecell] {\textbf{}};
\node(11) at (10,-1.2) [lbluecell] {\textbf{}};
\node(12) at (11,-1.2) [lbluecell] {\textbf{}};
\node(13) at (12,-1.2) [lbluecell] {\textbf{}};
\node(14) at (13,-1.2) [lbluecell] {\textbf{}};
\node(15) at (14,-1.2) [lbluecell] {\textbf{}};
\node(16) at (15,-1.2) [lbluecell] {\textbf{}};
\node(17) at (16,-1.2) [lbluecell] {\textbf{}};
\node(18) at (17,-1.2) [lbluecell] {\textbf{}};
\node(19) at (18,-1.2) [lbluecell] {\textbf{}};
\draw[densely dotted,green,->] (0.west) -| node {} (1.north);
};
\end{tikzpicture}
\end{center}
\caption{lcp-interval tree traversal using the $cldtab$: level 0.}
\label{fig:cldtab0}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
redcell/.style={draw=red!50,fill=red!50},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (1,-1.5) [orangenode] {0..2};
\node(2) at (4,-1.5) [magentanode] {3..5};
\node(3) at (8,-1.5) [cyannode] {6..9};
\node(4) at (10,-1.5) [bluenode] {10};
\node(5) at (13,-1.5) [purplenode] {11..15};
\node(6) at (16,-1.5) [bluenode] {16};
\node(7) at (17,-1.5) [bluenode] {17};
\node(8) at (18,-1.5) [bluenode] {18};
\node(9) at (2,-2.7) [greencell] {1};
\node(10) at (3,-2.7) [redcell] {6};
\node(11) at (5,-2.7) [greencell] {4};
\node(12) at (6,-2.7) [redcell] {10};
\node(13) at (9,-2.7) [greencell] {7};
\node(14) at (10,-2.7) [redcell] {11};
\node(15) at (11,-2.7) [redcell] {16};
\node(16) at (15,-2.7) [greencell] {12};
\node(17) at (16,-2.7) [redcell] {17};
\node(18) at (17,-2.7) [redcell] {18};
\node(19) at (0,-2.7) [lbluecell] {\textbf{}};
\node(20) at (1,-2.7) [lbluecell] {\textbf{}};
\node(21) at (4,-2.7) [lbluecell] {\textbf{}};
\node(22) at (7,-2.7) [lbluecell] {\textbf{}};
\node(23) at (8,-2.7) [lbluecell] {\textbf{}};
\node(24) at (12,-2.7) [lbluecell] {\textbf{}};
\node(25) at (13,-2.7) [lbluecell] {\textbf{}};
\node(26) at (14,-2.7) [lbluecell] {\textbf{}};
\node(27) at (18,-2.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (2);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (3);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (5);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (6);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (7);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (8);
\draw[densely dotted,green,->] (1.east) -| node {} (9.north);
\draw[densely dotted,red,->] (2.west) -| node {} (10.north);
\draw[densely dotted,green,->] (2.east) -| node {} (11.north);
\draw[densely dotted,red,->] (3.west) -| node {} (12.north);
\draw[densely dotted,green,->] (3.east) -| node {} (13.north);
\draw[densely dotted,red,->] (4.south) -| node {} (14.north);
\draw[densely dotted,red,->] (5.west) -| node {} (15.north);
\draw[densely dotted,green,->] (5.east) -| node {} (16.north);
\draw[densely dotted,red,->] (6.south) -| node {} (17.north);
\draw[densely dotted,red,->] (7.south) -| node {} (18.north);
};
\end{tikzpicture}
\end{center}
\caption{lcp-interval tree traversal using the $cldtab$: level 1.}
\label{fig:cldtab1}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
redcell/.style={draw=red!50,fill=red!50},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (1,-1.5) [orangenode] {0..2};
\node(2) at (0,-3.0) [orangenode] {0};
\node(3) at (1,-3.0) [orangenode] {1};
\node(4) at (2,-3.0) [orangenode] {2};
\node(5) at (4,-1.5) [magentanode] {3..5};
\node(6) at (3,-3.0) [magentanode] {3};
\node(7) at (4,-3.0) [magentanode] {4};
\node(8) at (5,-3.0) [magentanode] {5};
\node(9) at (8,-1.5) [cyannode] {6..9};
\node(10) at (6,-3.0) [cyannode] {6};
\node(11) at (8,-3.0) [purplenode] {7..8};
\node(12) at (9,-3.0) [cyannode] {9};
\node(13) at (10,-1.5) [bluenode] {10};
\node(14) at (13,-1.5) [yellownode] {11..15};
\node(15) at (11,-3.0) [yellownode] {11};
\node(16) at (13,-3.0) [olivenode] {12..14};
\node(17) at (15,-3.0) [yellownode] {15};
\node(18) at (16,-1.5) [bluenode] {16};
\node(19) at (17,-1.5) [bluenode] {17};
\node(20) at (18,-1.5) [bluenode] {18};
\node(21) at (1,-4.2) [redcell] {2};
\node(22) at (4,-4.2) [redcell] {5};
\node(23) at (7,-4.2) [redcell] {9};
\node(24) at (8,-4.2) [greencell] {8};
\node(25) at (12,-4.2) [redcell] {15};
\node(26) at (14,-4.2) [greencell] {13};
\node(27) at (0,-4.2) [lbluecell] {\textbf{}};
\node(28) at (2,-4.2) [lbluecell] {\textbf{}};
\node(29) at (3,-4.2) [lbluecell] {\textbf{}};
\node(30) at (5,-4.2) [lbluecell] {\textbf{}};
\node(31) at (6,-4.2) [lbluecell] {\textbf{}};
\node(32) at (9,-4.2) [lbluecell] {\textbf{}};
\node(33) at (10,-4.2) [lbluecell] {\textbf{}};
\node(34) at (11,-4.2) [lbluecell] {\textbf{}};
\node(35) at (13,-4.2) [lbluecell] {\textbf{}};
\node(36) at (15,-4.2) [lbluecell] {\textbf{}};
\node(37) at (16,-4.2) [lbluecell] {\textbf{}};
\node(38) at (17,-4.2) [lbluecell] {\textbf{}};
\node(39) at (18,-4.2) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (5);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (6);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (7);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (8);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (9);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (12);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (13);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (14);
\draw[thick,yellow,-o] (14) -- +(0,-0.6) -| node {} (15);
\draw[thick,yellow,-o] (14) -- +(0,-0.6) -| node {} (16);
\draw[thick,yellow,-o] (14) -- +(0,-0.6) -| node {} (17);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (18);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (19);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (20);
\draw[densely dotted,red,->] (3.south) -| node {} (21.north);
\draw[densely dotted,red,->] (7.south) -| node {} (22.north);
\draw[densely dotted,red,->] (11.west) -| node {} (23.north);
\draw[densely dotted,green,->] (11.south) -| node {} (24.north);
\draw[densely dotted,red,->] (16.west) -| node {} (25.north);
\draw[densely dotted,green,->] (16.east) -| node {} (26.north);
};
\end{tikzpicture}
\end{center}
\caption{lcp-interval tree traversal using the $cldtab$: level 2.}
\label{fig:cldtab2}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
redcell/.style={draw=red!50,fill=red!50},
lbluecell/.style={draw=blue!10,fill=blue!10},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (1,-1.5) [orangenode] {0..2};
\node(2) at (0,-3.0) [orangenode] {0};
\node(3) at (1,-3.0) [orangenode] {1};
\node(4) at (2,-3.0) [orangenode] {2};
\node(5) at (4,-1.5) [magentanode] {3..5};
\node(6) at (3,-3.0) [magentanode] {3};
\node(7) at (4,-3.0) [magentanode] {4};
\node(8) at (5,-3.0) [magentanode] {5};
\node(9) at (8,-1.5) [cyannode] {6..9};
\node(10) at (6,-3.0) [cyannode] {6};
\node(11) at (8,-3.0) [purplenode] {7..8};
\node(12) at (7,-4.5) [purplenode] {7};
\node(13) at (8,-4.5) [purplenode] {8};
\node(14) at (9,-3.0) [cyannode] {9};
\node(15) at (10,-1.5) [bluenode] {10};
\node(16) at (13,-1.5) [yellownode] {11..15};
\node(17) at (11,-3.0) [yellownode] {11};
\node(18) at (13,-3.0) [olivenode] {12..14};
\node(19) at (12,-4.5) [olivenode] {12};
\node(20) at (13,-4.5) [olivenode] {13};
\node(21) at (14,-4.5) [olivenode] {14};
\node(22) at (15,-3.0) [yellownode] {15};
\node(23) at (16,-1.5) [bluenode] {16};
\node(24) at (17,-1.5) [bluenode] {17};
\node(25) at (18,-1.5) [bluenode] {18};
\node(26) at (13,-5.7) [redcell] {14};
\node(27) at (0,-5.7) [lbluecell] {\textbf{}};
\node(28) at (1,-5.7) [lbluecell] {\textbf{}};
\node(29) at (2,-5.7) [lbluecell] {\textbf{}};
\node(30) at (3,-5.7) [lbluecell] {\textbf{}};
\node(31) at (4,-5.7) [lbluecell] {\textbf{}};
\node(32) at (5,-5.7) [lbluecell] {\textbf{}};
\node(33) at (6,-5.7) [lbluecell] {\textbf{}};
\node(34) at (7,-5.7) [lbluecell] {\textbf{}};
\node(35) at (8,-5.7) [lbluecell] {\textbf{}};
\node(36) at (9,-5.7) [lbluecell] {\textbf{}};
\node(37) at (10,-5.7) [lbluecell] {\textbf{}};
\node(38) at (11,-5.7) [lbluecell] {\textbf{}};
\node(39) at (12,-5.7) [lbluecell] {\textbf{}};
\node(40) at (14,-5.7) [lbluecell] {\textbf{}};
\node(41) at (15,-5.7) [lbluecell] {\textbf{}};
\node(42) at (16,-5.7) [lbluecell] {\textbf{}};
\node(43) at (17,-5.7) [lbluecell] {\textbf{}};
\node(44) at (18,-5.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (5);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (6);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (7);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (8);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (9);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,purple,-o] (11) -- +(0,-0.6) -| node {} (12);
\draw[thick,purple,-o] (11) -- +(0,-0.6) -| node {} (13);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (14);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (15);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (16);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (17);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (18);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (19);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (20);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (21);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (24);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (25);
\draw[densely dotted,red,->] (20.south) -| node {} (26.north);
};
\end{tikzpicture}
\end{center}
\caption{lcp-interval tree traversal using the $cldtab$: level 3.}
\label{fig:cldtab3}
\end{figure}
\begin{figure}[ht!]
\begin{center}
\begin{tikzpicture}
[scale=0.65, nodes={scale=0.65, minimum size=26},
yellownode/.style={draw=yellow!50,fill=yellow!30,rounded corners},
orangenode/.style={draw=orange!50,fill=orange!30,rounded corners},
cyannode/.style={draw=cyan!50,fill=cyan!30,rounded corners},
purplenode/.style={draw=purple!50,fill=purple!30,rounded corners},
olivenode/.style={draw=olive!50,fill=olive!30,rounded corners},
bluenode/.style={draw=blue!50,fill=blue!30,rounded corners},
magentanode/.style={draw=magenta!50,fill=magenta!30,rounded corners},
redcell/.style={draw=red!50,fill=red!50},
lbluecell/.style={draw=blue!10,fill=blue!10},
greencell/.style={draw=green!50,fill=green!50},
]
{
\node(0) at (9,0.0) [bluenode] {0..18};
\node(1) at (1,-1.5) [orangenode] {0..2};
\node(2) at (0,-3.0) [orangenode] {0};
\node(3) at (1,-3.0) [orangenode] {1};
\node(4) at (2,-3.0) [orangenode] {2};
\node(5) at (4,-1.5) [magentanode] {3..5};
\node(6) at (3,-3.0) [magentanode] {3};
\node(7) at (4,-3.0) [magentanode] {4};
\node(8) at (5,-3.0) [magentanode] {5};
\node(9) at (8,-1.5) [cyannode] {6..9};
\node(10) at (6,-3.0) [cyannode] {6};
\node(11) at (8,-3.0) [purplenode] {7..8};
\node(12) at (7,-4.5) [purplenode] {7};
\node(13) at (8,-4.5) [purplenode] {8};
\node(14) at (9,-3.0) [cyannode] {9};
\node(15) at (10,-1.5) [bluenode] {10};
\node(16) at (13,-1.5) [yellownode] {11..15};
\node(17) at (11,-3.0) [yellownode] {11};
\node(18) at (13,-3.0) [olivenode] {12..14};
\node(19) at (12,-4.5) [olivenode] {12};
\node(20) at (13,-4.5) [olivenode] {13};
\node(21) at (14,-4.5) [olivenode] {14};
\node(22) at (15,-3.0) [yellownode] {15};
\node(23) at (16,-1.5) [bluenode] {16};
\node(24) at (17,-1.5) [bluenode] {17};
\node(25) at (18,-1.5) [bluenode] {18};
\node(26) at (0,-5.7) [greencell] {3};
\node(27) at (1,-5.7) [redcell] {2};
\node(28) at (2,-5.7) [greencell] {1};
\node(29) at (3,-5.7) [redcell] {6};
\node(30) at (4,-5.7) [redcell] {5};
\node(31) at (5,-5.7) [greencell] {4};
\node(32) at (6,-5.7) [redcell] {10};
\node(33) at (7,-5.7) [redcell] {9};
\node(34) at (8,-5.7) [greencell] {8};
\node(35) at (9,-5.7) [greencell] {7};
\node(36) at (10,-5.7) [redcell] {11};
\node(37) at (11,-5.7) [redcell] {16};
\node(38) at (12,-5.7) [redcell] {15};
\node(39) at (13,-5.7) [redcell] {14};
\node(40) at (14,-5.7) [greencell] {13};
\node(41) at (15,-5.7) [greencell] {12};
\node(42) at (16,-5.7) [redcell] {17};
\node(43) at (17,-5.7) [redcell] {18};
\node(44) at (18,-5.7) [lbluecell] {\textbf{}};
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (1);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (2);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (3);
\draw[thick,orange,-o] (1) -- +(0,-0.6) -| node {} (4);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (5);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (6);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (7);
\draw[thick,magenta,-o] (5) -- +(0,-0.6) -| node {} (8);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (9);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (10);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (11);
\draw[thick,purple,-o] (11) -- +(0,-0.6) -| node {} (12);
\draw[thick,purple,-o] (11) -- +(0,-0.6) -| node {} (13);
\draw[thick,cyan,-o] (9) -- +(0,-0.6) -| node {} (14);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (15);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (16);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (17);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (18);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (19);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (20);
\draw[thick,olive,-o] (18) -- +(0,-0.6) -| node {} (21);
\draw[thick,yellow,-o] (16) -- +(0,-0.6) -| node {} (22);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (23);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (24);
\draw[thick,blue,-o] (0) -- +(0,-0.6) -| node {} (25);
};
\end{tikzpicture}
\end{center}
\caption{lcp-interval tree traversal using the $cldtab$: complete tree.}
\label{fig:cldtab4}
\end{figure}
